package org.linlinjava.litemall.admin.vo.order;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.linlinjava.litemall.admin.util.DateUtil;
import org.linlinjava.litemall.core.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;


@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "订单列表分页")
public class AdminLumiereOrderPageRespVO extends PageParam {

    @ApiModelProperty(value = "用户ID", example = "123")
    private Integer userId;

    @ApiModelProperty(value = "订单编号", example = "202107180001")
    private String orderSn;

    @ApiModelProperty(value = "门店", example = "1")
    private Integer shopId;

    @ApiModelProperty(value = "订单状态数组")
    private List<Short> orderStatusArray;

    @ApiModelProperty(value = "支付类型数组")
    private List<Byte> payType;

    @ApiModelProperty(value = "订单来源")
    private List<Byte> orderSource;

    @ApiModelProperty("日期范围")
    @DateTimeFormat(pattern = DateUtil.YYYY_MM_DD_HH_MM_SS)
    private LocalDateTime[] dateRange;

    @ApiModelProperty(value = "订单类型", example = "1")
    private Byte orderType;

    @ApiModelProperty(value = "开始日期", example = "2021-07-01")
    private String startDate;

    @ApiModelProperty(value = "结束日期", example = "2021-07-31")
    private String endDate;
}
